1
Mapeamentos Matemáticos e Modelagem de Dados
MATH002Lesson 3
00:00
Os mapeamentos matemáticos e a modelagem de dados servem como ponte entre a teoria dos conjuntos abstratos e a realidade computacional. Neste contexto, um algoritmo atua como uma transformação formal e determinística em que uma entrada estruturada é processada por instruções precisas para produzir uma saída correta. Isso estabelece a base lógica para toda a arquitetura de software e bancos de dados.

As Propriedades de um Algoritmo

Um algoritmo é um método passo a passo para resolver um problema, caracterizado por sete pilares críticos:

  • Entrada: O algoritmo recebe dados de um conjunto especificado.
  • Saída: O algoritmo produz um resultado (a solução) a partir de um conjunto especificado.
  • Precisão: Cada passo é definido com clareza absoluta.
  • Determinismo: Os resultados intermediários são únicos e determinados apenas pelos inputs e pelos passos anteriores.
  • Finitude: O processo termina após um número finito de instruções.
  • Correção: A saída resolve o problema conforme pretendido.
  • Generalidade: O procedimento se aplica a uma classe inteira de entradas, e não apenas a um caso isolado.

Algoritmo 4.1.1: Encontrando o Máximo de Três Números

Esta relação ternária simples demonstra precisão e determinismo. Independentemente dos valores de $a, b,$ e $c$, os passos seguem um caminho lógico rígido.

Traçado de Pseudocódigo
max3(a, b, c) {
  grande = a
  se (b > grande) grande = b
  se (c > grande) grande = c
  retornar grande
}

Modelagem de Dados e Invariantes de Laço

Em estruturas de dados mais complexas, como sequências ($s_1, ..., s_n$), utilizamos Algoritmo 4.1.2. Para garantir que tais algoritmos sejam corretos, dependemos da indução e do conceito de um invariante de laço.

Algoritmo 4.1.2: Encontrando o Máximo em uma Sequência
max(s, n) {
  grande = s_1
  para i = 2 até n
    se (s_i > grande)
      grande = s_i
  retornar grande
}

Invariante de Laço: "grande é o maior valor na subsequência $s_1, ..., s_i$". Esta propriedade permanece verdadeira em cada iteração, provando a correção por indução.

🎯 Princípio Central: Validade do Mapeamento
Uma função matemática válida exige que cada elemento no domínio mapeie para exatamente um um elemento no contradomínio. A ausência de setas ou múltiplas setas a partir de uma mesma fonte invalida o status de função, refletindo por que algoritmos não determinísticos ou incompletos falham na prática.